home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / tests / fort.dia.ref < prev    next >
Text File  |  1999-09-16  |  3KB  |  223 lines

  1.  
  2. a =[1,2,3];b =[1,2,3;4,5,6];c =[10,11;12,13];
  3.  
  4. //
  5.  
  6. //short call: fortran instructions to be inserted in interf.f
  7.  
  8. //      if(nom.eq.'bidon1') then
  9.  
  10. //      ia =size(1,nla ,nca )
  11.  
  12. //      ib =size(2,nlb ,nlc )
  13.  
  14. //      ic =size(3,nlc ,ncc )
  15.  
  16. //      id =ic
  17.  
  18. //      nld=nlc
  19.  
  20. //      ncd=ncc
  21.  
  22. //      call alloc(1,ia ,nla ,nca ,'i')
  23.  
  24. //      call alloc(2,ib ,nlb ,ncb ,'r')
  25.  
  26. //      call alloc(3,ic ,nlc ,ncc ,'d')
  27.  
  28. //      call alloc(4,id ,nld ,ncd ,'d')
  29.  
  30. //      call alloc(5,id ,nld ,ncd ,'d')
  31.  
  32. //      call bidon(stk(ll(1)),ia,stk(ll(2)),ib,stk(ll(3)),ic,
  33.  
  34. //     *           stk(ll(4)),stk(ll(5)),ic)
  35.  
  36. //      call back(1)
  37.  
  38. //      call back(2)
  39.  
  40. //      call back(3)
  41.  
  42. //      call back(4)
  43.  
  44. //      return
  45.  
  46. //      endif
  47.  
  48. //
  49.  
  50. //fort call in scilab
  51.  
  52. [as,bs,cs,ds]=fort('bidon1',a ,b ,c );
  53.  
  54. as-2*a
  55.  ans  =
  56.  
  57. !   0.    0.    0. !
  58.  
  59. bs-2*b
  60.  ans  =
  61.  
  62. !   0.    0.    0. !
  63. !   0.    0.    0. !
  64.  
  65. cs-2*c
  66.  ans  =
  67.  
  68. !   0.    0. !
  69. !   0.    0. !
  70.  
  71. ds-(2*c+[1,3;2,4])
  72.  ans  =
  73.  
  74. !   0.    0. !
  75. !   0.    0. !
  76.  
  77. //
  78.  
  79. //
  80.  
  81. //Test no 2 : insert the following in interf.f:
  82.  
  83. //      if(nom.eq.'bidon2') then
  84.  
  85. //      call bidon(x1,x2,x3,x4,x5,x6,x7,x8,x9)
  86.  
  87. //      return
  88.  
  89. //      endif
  90.  
  91. // calling from scilab:
  92.  
  93. //a interf.
  94.  
  95. [ma,na]=size(a);ia=ma*na;
  96.  
  97. [mb,nb]=size(b);ib=mb*nb;
  98.  
  99. [mc,nc]=size(c);ic=mc*nc;
  100.  
  101. md=mc;nd=nc;
  102.  
  103. [as,bs,cs,ds]=fort('bidon2',a,1,'i',ia,2,'i',b,3,'r',ib,4,'i',...
  104.                             c,5,'d',ic,6,'i',...
  105.                    'out',[ma,na],1,'i',[mb,nb],3,'r',[mc,nc],5,'d',...
  106.                           [md,nd],7,'d',[mc,nc],8,'d',[1,1],9,'i');
  107.  
  108. as-2*a
  109.  ans  =
  110.  
  111. !   0.    0.    0. !
  112.  
  113. bs-2*b
  114.  ans  =
  115.  
  116. !   0.    0.    0. !
  117. !   0.    0.    0. !
  118.  
  119. cs-2*c
  120.  ans  =
  121.  
  122. !   0.    0. !
  123. !   0.    0. !
  124.  
  125. ds-(2*c+[1,3;2,4])
  126.  ans  =
  127.  
  128. !   0.    0. !
  129. !   0.    0. !
  130.  
  131. //other valid form
  132.  
  133. [as,bs,cs,ds]=fort('bidon2',a,1,'i',ia,2,'i',b,3,'r',ib,4,'i',...
  134.                             c,5,'d',ic,6,'i',...
  135.                    'out',1,3,5,...
  136.                           [md,nd],7,'d',[mc,nc],8,'d',[1,1],9,'i');
  137.  
  138. as-2*a
  139.  ans  =
  140.  
  141. !   0.    0.    0. !
  142.  
  143. bs-2*b
  144.  ans  =
  145.  
  146. !   0.    0.    0. !
  147. !   0.    0.    0. !
  148.  
  149. cs-2*c
  150.  ans  =
  151.  
  152. !   0.    0. !
  153. !   0.    0. !
  154.  
  155. ds-(2*c+[1,3;2,4])
  156.  ans  =
  157.  
  158. !   0.    0. !
  159. !   0.    0. !
  160.  
  161. //Test no 3 : insert in interf.f
  162.  
  163. //
  164.  
  165. //      if(nom.eq.'bidon3') then
  166.  
  167. //      ia=size(1,nla,nca)
  168.  
  169. //      ib=size(2,nlb,ncb)
  170.  
  171. //      ic=size(3,nlc,ncc)
  172.  
  173. //      call alloc(4,ic,nlc,ncc,'d')
  174.  
  175. //      call alloc(5,ic,nlc,ncc,'d')
  176.  
  177. //      call bidon(stk(ll(1)),ia,stk(ll(2)),ib,stk(ll(3)),ic,
  178.  
  179. //     1           stk(ll(4)),stk(ll(5)),ic)
  180.  
  181. //      call back(1)
  182.  
  183. //      call back(2)
  184.  
  185. //      call back(3)
  186.  
  187. //      call back(4)
  188.  
  189. //      return
  190.  
  191. //      endif
  192.  
  193. //
  194.  
  195. // Call from scilab:
  196.  
  197. [as,bs,cs,ds]=fort('bidon3',a,1,'i',b,2,'r',c,3,'d',...
  198.                    'out',1,2,3,4);
  199.  
  200. as-2*a
  201.  ans  =
  202.  
  203. !   0.    0.    0. !
  204.  
  205. bs-2*b
  206.  ans  =
  207.  
  208. !   0.    0.    0. !
  209. !   0.    0.    0. !
  210.  
  211. cs-2*c
  212.  ans  =
  213.  
  214. !   0.    0. !
  215. !   0.    0. !
  216.  
  217. ds-(2*c+[1,3;2,4])
  218.  ans  =
  219.  
  220. !   0.    0. !
  221. !   0.    0. !
  222.  
  223.